using System;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using WindowsPhoneMVC.Navigation;

namespace WindowsPhoneMVC.Phone.Interfaces
{
    public interface IMvcFrame
    {
        void Show(PhoneApplicationPage view);
        void OnNavigationStarted(NavigationDirection direction);
        void OnNavigationCompleted(bool successful);
        bool IsNavigationInProgress { get; set; }
        NavigationDirection NavigationDirection { get; }
        string LoadingMessage { get; set; }
        void SetApplicationBar(IApplicationBar applicationBar);
        void Initialise(IShell shell);
        void UpdateOrientation(PhoneApplicationPage view);
        void SetupSystemTray(PhoneApplicationPage page);
        void BeginBackgroundOperation();
        void EndBackgroundOperation();
    }
}